home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / gpt32src.zip / BITMAP.H < prev    next >
C/C++ Source or Header  |  1992-03-25  |  3KB  |  79 lines

  1. /*
  2.  * $Id: bitmap.h,v 3.26 92/03/24 22:34:16 woo Exp Locker: woo $
  3.  */
  4.  
  5. /* bitmap.h */
  6.  
  7. #ifdef __TURBOC__
  8. #define FAR far
  9. #else
  10. #define FAR
  11. #endif
  12.  
  13. /* allow up to 16 bit width for character array */
  14. typedef unsigned int char_row;
  15. typedef char_row * FAR char_box;
  16.  
  17. #define FNT_CHARS   96      /* Number of characters in the font set */
  18.  
  19. #define FNT5X9 0
  20. #define FNT5X9_VCHAR 11 /* vertical spacing between characters */
  21. #define FNT5X9_VBITS 9 /* actual number of rows of bits per char */
  22. #define FNT5X9_HCHAR 7 /* horizontal spacing between characters */
  23. #define FNT5X9_HBITS 5 /* actual number of bits per row per char */
  24. extern char_row FAR fnt5x9[FNT_CHARS][FNT5X9_VBITS];
  25.  
  26. #define FNT9X17 1
  27. #define FNT9X17_VCHAR 21 /* vertical spacing between characters */
  28. #define FNT9X17_VBITS 17 /* actual number of rows of bits per char */
  29. #define FNT9X17_HCHAR 13 /* horizontal spacing between characters */
  30. #define FNT9X17_HBITS 9 /* actual number of bits per row per char */
  31. extern char_row FAR fnt9x17[FNT_CHARS][FNT9X17_VBITS];
  32.  
  33. #define FNT13X25 2
  34. #define FNT13X25_VCHAR 31 /* vertical spacing between characters */
  35. #define FNT13X25_VBITS 25 /* actual number of rows of bits per char */
  36. #define FNT13X25_HCHAR 19 /* horizontal spacing between characters */
  37. #define FNT13X25_HBITS 13 /* actual number of bits per row per char */
  38. extern char_row FAR fnt13x25[FNT_CHARS][FNT13X25_VBITS];
  39.  
  40.  
  41. typedef unsigned char pixels;  /* the type of one set of 8 pixels in bitmap */
  42. typedef pixels *bitmap[];  /* the bitmap */
  43.  
  44. extern bitmap *b_p;                        /* global pointer to bitmap */
  45. extern unsigned int b_currx, b_curry;    /* the current coordinates */
  46. extern unsigned int b_xsize, b_ysize;    /* the size of the bitmap */
  47. extern unsigned int b_planes;            /* number of color planes */
  48. extern unsigned int b_psize;            /* size of each plane */
  49. extern unsigned int b_rastermode;        /* raster mode rotates -90deg */
  50. extern unsigned int b_linemask;            /* 16 bit mask for dotted lines */
  51. extern unsigned int b_value;            /* colour of lines */
  52. extern unsigned int b_hchar;            /* width of characters */
  53. extern unsigned int b_hbits;            /* actual bits in char horizontally */
  54. extern unsigned int b_vchar;            /* height of characters */
  55. extern unsigned int b_vbits;            /* actual bits in char vertically */
  56. extern unsigned int b_angle;            /* rotation of text */
  57. extern char_box b_font[FNT_CHARS];        /* the current font */
  58. extern unsigned int b_pattern[];
  59. extern int b_maskcount;
  60. extern unsigned int b_lastx, b_lasty;    /* last pixel set - used by b_line */
  61.  
  62.  
  63. extern void b_makebitmap();
  64. extern void b_freebitmap();
  65. extern void b_setpixel();
  66. extern unsigned int b_getpixel();
  67. extern void b_line();
  68. extern void b_setmaskpixel();
  69. extern void b_putc();
  70. extern void b_charsize();
  71. extern void b_setvalue();
  72.  
  73. extern int b_setlinetype();
  74. extern int b_move();
  75. extern int b_vector();
  76. extern int b_put_text();
  77. extern int b_text_angle();
  78.  
  79.